import axios from 'axios';
import {  failure,  } from '@/static/js/alert.js';
const instance = axios.create({
    baseURL: 'http://localhost:8001/community',
    timeout: 10000,
    headers: {
        'Content-Type': 'application/json',
         'Access-Control-Allow-Origin': 'http://localhost:8001'
    },
    withCredentials: true
});


instance.interceptors.request.use((config) => {
    return config;
}, (error) => {
    console.log('Request error:', error);
    return Promise.resolve({ error: true, message: 'Request error', details: error });
});

instance.interceptors.response.use((response) => {
    // 这里会出现响应成功的
    //200  ok
    // 201 Created：表示请求已成功，并且服务器创建了新的资源。
    // 202 Accepted：表示请求已被接受处理，但处理尚未完成。
    // 204 No Content：表示请求已成功，但响应中不包含任何内容（即返回空响应体）。
    // 304 Not Modified：表示资源自上次请求后未修改，通常用于缓存机制中。
    return response.data;
}, (error) => {
    if (error.code === 'ECONNABORTED' || error.message === "ERR_NETWORK" ||error.response==undefined) {
        // 未连接到服务器
          failure('请求超时或未响应!')
        return 0
    } else {
        // 连接了,但出错了
        // 如:404,401,403,522等
        const status = error.response.status;
        return 0
    }
    
});

export default instance;